# Maintainer: Frederik Schwan <freswa at archlinux dot org>
# Contributor: Dario Ostuni <dario.ostuni@gmail.com>

pkgname=wasmtime
pkgver=15.0.0
pkgrel=1
pkgdesc='Standalone JIT-style runtime for WebAssembly, using Cranelift'
arch=('loong64' 'x86_64')
url='https://github.com/bytecodealliance/wasmtime'
license=('Apache')
depends=('gcc-libs')
makedepends=('cargo' 'git')
options=('!lto')
source=("git+https://github.com/bytecodealliance/wasmtime.git#commit=v${pkgver}"
        git+https://github.com/WebAssembly/testsuite.git
        git+https://github.com/WebAssembly/wasm-c-api.git
        git+https://github.com/WebAssembly/WASI.git
        git+https://github.com/WebAssembly/wasi-nn.git
        git+https://github.com/WebAssembly/wasi-crypto.git)
b2sums=('SKIP'
        'SKIP'
        'SKIP'
        'SKIP'
        'SKIP'
        'SKIP')

prepare() {
  cd ${pkgname}
  git submodule init
  git config submodule.spec_testsuite.src "${srcdir}"/testsuite
  git config submodule.crates/c-api/examples/wasm-c-api.src "${srcdir}"/wasm-c-api
  git config submodule.WASI.src "${srcdir}"/WASI
  git config submodule.crates/wasi-nn/spec.src "${srcdir}"/wasi-nn
  git config submodule.crates/wasi-crypto/spec.src "${srcdir}"/wasi-crypto
  git submodule update
  cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
}

build() {
  cd ${pkgname}
  export RUSTUP_TOOLCHAIN=stable
  export CARGO_TARGET_DIR=target
  cargo build --locked --release
  cargo build --locked --release --manifest-path crates/c-api/Cargo.toml
}

package() {
  cd ${pkgname}
  install -Dm755 target/release/${pkgname} "${pkgdir}"/usr/bin/$pkgname
}
